# Reference implementation for an Async evaluator for the CEL runtime.

load("@rules_java//java:defs.bzl", "java_library")

package(
    default_applicable_licenses = [
        "//:license",
    ],
    default_visibility = [
        "//runtime/async:__pkg__",
    ],
)

ASYNC_RUNTIME_SOURCES = [
    "AsyncProgramImpl.java",
    "CelResolvableAttributePattern.java",
    "CelAsyncRuntimeImpl.java",
    "CelAsyncRuntime.java",
    "CelAsyncRuntimeBuilder.java",
    "CelAsyncRuntimeFactory.java",
    "ThreadSafeCelVariableResolver.java",
    "CelUnknownAttributeValueResolver.java",
]

java_library(
    name = "async",
    srcs = ASYNC_RUNTIME_SOURCES,
    deps = [
        "//:auto_value",
        "//common:cel_ast",
        "//runtime",
        "//runtime:unknown_attributes",
        "@maven//:com_google_code_findbugs_annotations",
        "@maven//:com_google_errorprone_error_prone_annotations",
        "@maven//:com_google_guava_guava",
    ],
)
